Sync changes with source tree; rel. 0.2
authoroliskoli <oliskoli@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Tue, 4 Oct 2005 22:39:33 +0000 (22:39 +0000)
committeroliskoli <oliskoli@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Tue, 4 Oct 2005 22:39:33 +0000 (22:39 +0000)
gpsbabel/win32/gui-2/filter.dfm
gpsbabel/win32/gui-2/filter.pas
gpsbabel/win32/gui-2/locale/de/LC_MESSAGES/default.po
gpsbabel/win32/gui-2/locale/fr/LC_MESSAGES/default.po
gpsbabel/win32/gui-2/main.dfm
gpsbabel/win32/gui-2/main.pas
gpsbabel/win32/gui-2/template.po

index 561c938f3ededa7eca91cf061dc91953b1e858cc..8f64d00c480eb1b7e3f1d08fa9c8afb6efff68be 100644 (file)
Binary files a/gpsbabel/win32/gui-2/filter.dfm and b/gpsbabel/win32/gui-2/filter.dfm differ
index e3e4da0f383381f895870b52e3feb83235870735..a902af903bbbc4e7e22d4ec9021245cf6cd3ad79 100644 (file)
@@ -79,6 +79,7 @@ type
     lbWayptRadiusLon: TLabel;\r
     edWayptRadiusLat: TEdit;\r
     edWayptRadiusLon: TEdit;\r
+    cbTrackRangeTimeZone: TCheckBox;\r
     procedure cbTrackTimeClick(Sender: TObject);\r
     procedure FormCreate(Sender: TObject);\r
     procedure cbTrackTitleClick(Sender: TObject);\r
@@ -182,9 +183,16 @@ begin
 end;\r
 \r
 procedure TfrmFilter.FormCreate(Sender: TObject);\r
+var\r
+  CurrentTime: TDateTime;\r
+\r
 begin\r
   gnugettextD4.TranslateComponent(SELF);\r
-  \r
+\r
+  CurrentTime := SysUtils.Now;\r
+  dtpTrackStartDate.DateTime := Int(CurrentTime);\r
+  dtpTrackStopDate.DateTime := Int(CurrentTime);\r
+\r
   lTrackTimeList := TList.Create;\r
   \r
   lTrackTimeList.Add(edTrackTimeDays);\r
@@ -216,6 +224,7 @@ begin
   FixPosition(edWayptRadiusLon, lbWayptRadiusLon, True);\r
 \r
   // will not be translated, fill by hand\r
+\r
   cobWayptMergeDist.Items.Add(_('Feet'));\r
   cobWayptMergeDist.Items.Add(_('Meter'));\r
   cobWayptMergeDist.ItemIndex := 0;\r
@@ -223,6 +232,8 @@ begin
   cobWayptRadius.Items.Add(_('Miles'));\r
   cobWayptRadius.Items.Add(_('Kilometer'));\r
   cobWayptRadius.ItemIndex := 0;\r
+\r
+  dtpTrackStopTime.Time := 1 - (1.0 / (24*60*60));\r
 end;\r
 \r
 procedure TfrmFilter.cbTrackTitleClick(Sender: TObject);\r
@@ -240,6 +251,9 @@ function TfrmFilter.CmdLine: string;
 \r
 var\r
   s: string;\r
+  tz_Info: TTimeZoneInformation;\r
+  dt: TDateTime;\r
+  dt_bias: TDateTime;\r
 begin\r
   Result := '';\r
   if not AnyChecked(Self) then Exit;\r
@@ -298,16 +312,30 @@ begin
     if cbTrackSplit.Checked then\r
       Result := Format('%s,split', [Result]);\r
 \r
+    if (cbTrackRangeTimeZone.Enabled and cbTrackRangeTimeZone.Checked) then\r
+    begin\r
+      Windows.GetTimeZoneInformation(tz_Info);\r
+      tz_Info.Bias := tz_Info.Bias + tz_Info.DaylightBias;\r
+      dt_bias := tz_Info.Bias / (24*60);\r
+    end\r
+    else\r
+      dt_bias := 0.0;\r
+\r
+\r
     if cbTrackStart.Checked then\r
+    begin\r
+      dt := Int(dtpTrackStartDate.DateTime) + Frac(dtpTrackStartTime.DateTime) + dt_bias;\r
       Result := Format('%s,start=%s', [\r
         Result,\r
-        FormatDateTime('yyyymmddhhnnss',\r
-          Int(dtpTrackStartDate.DateTime) + Frac(dtpTrackStartTime.DateTime))]);\r
+        FormatDateTime('yyyymmddhhnnss', dt)]);\r
+    end;\r
     if cbTrackStop.Checked then\r
+    begin\r
+      dt := Int(dtpTrackStopDate.DateTime) + Frac(dtpTrackStopTime.DateTime) + dt_bias;\r
       Result := Format('%s,stop=%s', [\r
         Result,\r
-        FormatDateTime('yyyymmddhhnnss',\r
-          Int(dtpTrackStopDate.DateTime) + Frac(dtpTrackStopTime.DateTime))]);\r
+        FormatDateTime('yyyymmddhhnnss', dt)]);\r
+    end;\r
   end;\r
 \r
   if AnyChecked(gbRoutes) then\r
@@ -360,12 +388,16 @@ procedure TfrmFilter.cbTrackStartClick(Sender: TObject);
 begin\r
   dtpTrackStartDate.Enabled := cbTrackStart.Checked;\r
   dtpTrackStartTime.Enabled := cbTrackStart.Checked;\r
+  cbTrackRangeTimeZone.Enabled :=\r
+    cbTrackStart.Checked or cbTrackStop.Checked;\r
 end;\r
 \r
 procedure TfrmFilter.cbTrackStopClick(Sender: TObject);\r
 begin\r
   dtpTrackStopDate.Enabled := cbTrackStop.Checked;\r
   dtpTrackStopTime.Enabled := cbTrackStop.Checked;\r
+  cbTrackRangeTimeZone.Enabled :=\r
+    cbTrackStart.Checked or cbTrackStop.Checked;\r
 end;\r
 \r
 procedure TfrmFilter.cbRouteSimplifyClick(Sender: TObject);\r
index 7a1ad93bb74e49c72b106394c2dc1d85991873db..46271375eba1b9cae9e1e5016643ca3bc1dc60fe 100644 (file)
@@ -3,7 +3,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GPSBabel 1.2.6\n"
 "POT-Creation-Date: 2005-08-12 14:50\n"
-"PO-Revision-Date: 2005-10-01 00:50+0100\n"
+"PO-Revision-Date: 2005-10-05 00:05+0100\n"
 "Last-Translator: Olaf Klein <o.b.klein@t-online.de>\n"
 "Language-Team: \n"
 "MIME-Version: 1.0\n"
@@ -32,7 +32,7 @@ msgstr "Über"
 #: about.dfm:166
 #: filter.dfm:13
 #: main.dfm:11
-#: main.dfm:244
+#: main.dfm:245
 #: readme.dfm:11
 msgid "MS Sans Serif"
 msgstr "MS Sans Serif"
@@ -82,16 +82,6 @@ msgstr "Das Windows-Fontend für \"gpsbabel.exe\""
 msgid "THIS SOFTWARE MAY ONLY BE LICENSED FREE OF CHARGE"
 msgstr "DIESE SOFTWARE KANN UND DARF NUR KOSTENLOS WEITERGEGEBEN WERDEN"
 
-#. frmAbout..pnClient..pnCenter..lbxTranslators....Items.Strings
-#: about.dfm:183
-msgid "German by Olaf Klein"
-msgstr "Deutsch von Olaf Klein"
-
-#. frmAbout..pnClient..pnCenter..lbxTranslators....Items.Strings
-#: about.dfm:184
-msgid "French by Lilian Morinon"
-msgstr "Französich von Lilian Morinon"
-
 #. frmFilter..Caption
 #: filter.dfm:6
 msgid "Filter"
@@ -100,7 +90,7 @@ msgstr "Filter"
 #. frmFilter..gbTracks..Caption
 #. frmMain..Panel2..cbTracks..Caption
 #: filter.dfm:29
-#: main.dfm:399
+#: main.dfm:400
 msgid "&Tracks"
 msgstr "&Tracks"
 
@@ -192,140 +182,165 @@ msgstr "&Packen (oder)"
 #. frmFilter..gbTracks..cbTrackMerge..Hint
 #: filter.dfm:284
 msgid "Merge all tracks into one track"
-msgstr ""
+msgstr "Fasse alle Tracks zu einem einzigen zusammen (doppelte Zeitstempel werden verworfen)"
 
 #. frmFilter..gbTracks..cbTrackMerge..Caption
 #: filter.dfm:285
 msgid "Merge"
 msgstr "Zusammenführen"
 
+#. frmFilter..gbTracks..cbTrackRangeTimeZone..Hint
+#: filter.dfm:294
+msgid "Shift start/stop by local timezone offset"
+msgstr "Verschiebe Beginn/Ende um Differenz zur lokalen Zeitzone"
+
+#. frmFilter..gbTracks..cbTrackRangeTimeZone..Caption
+#: filter.dfm:295
+msgid "TZ"
+msgstr "\"TZ\""
+
 #. frmFilter..gbRoutes..Caption
-#: filter.dfm:296
+#: filter.dfm:306
 msgid "&Routes && Tracks"
 msgstr "&Routen && Tracks"
 
 #. frmFilter..gbRoutes..lbRouteSimplifyCount..Caption
-#: filter.dfm:304
+#: filter.dfm:314
 msgid "limit to"
 msgstr "maximal"
 
 #. frmFilter..gbRoutes..lbRouteSimplifyText..Caption
-#: filter.dfm:312
+#: filter.dfm:322
 msgid "Points"
 msgstr "Punkte"
 
 #. frmFilter..gbRoutes..cbRouteSimplify..Hint
-#: filter.dfm:319
+#: filter.dfm:329
 msgid "Simplify routes and tracks by limited number of points"
 msgstr "Limitiert die Anzahl von Wegpunkten in Routen und Tracks"
 
 #. frmFilter..gbRoutes..cbRouteSimplify..Caption
-#: filter.dfm:320
+#: filter.dfm:330
 msgid "Simplify"
 msgstr "Vereinfachen"
 
 #. frmFilter..gbRoutes..edRoutesSimplifyMaxPoints..Hint
-#: filter.dfm:329
+#: filter.dfm:339
 msgid "Upper limit of points for routes and tracks"
 msgstr "Maximale Anzahl an Punkten innerhalb von Routen und Tracks"
 
 #. frmFilter..gbRoutes..edRoutesSimplifyMaxPoints..Text
-#: filter.dfm:334
+#: filter.dfm:344
 msgid "50 "
 msgstr "50 "
 
 #. frmFilter..gbRoutes..cbReverse..Hint
-#: filter.dfm:353
+#: filter.dfm:363
 msgid "Reverse routes and tracks"
 msgstr "Reihenfolge von Wegpunkten in Routen und Tracks umdrehen"
 
 #. frmFilter..gbRoutes..cbReverse..Caption
-#: filter.dfm:354
+#: filter.dfm:364
 msgid "Reverse"
 msgstr "Umdrehen"
 
 #. frmFilter..pnBottom..btnOK..Caption
-#: filter.dfm:371
+#: filter.dfm:381
 msgid "OK"
 msgstr "OK"
 
 #. frmFilter..pnBottom..BitBtn1..Caption
-#: filter.dfm:407
+#: filter.dfm:417
 msgid "File based filters"
 msgstr "Datei basierende Filter"
 
 #. frmFilter..gbWaypoints..Caption
 #. frmMain..Panel2..cbWaypoints..Caption
-#: filter.dfm:427
-#: main.dfm:379
+#: filter.dfm:437
+#: main.dfm:380
 msgid "&Waypoints"
 msgstr "&Wegpunkte"
 
 #. frmFilter..gbWaypoints..lbWayptRadiusLat..Caption
-#: filter.dfm:436
+#: filter.dfm:446
 msgid "Latitude"
-msgstr "Längengrad"
+msgstr "Breitengrad"
 
 #. frmFilter..gbWaypoints..lbWayptRadiusLon..Caption
-#: filter.dfm:444
+#: filter.dfm:454
 msgid "Longitude"
-msgstr "Breitengrad"
+msgstr "Längengrad"
 
 #. frmFilter..gbWaypoints..cbWayptMergeDupLoc..Hint
-#: filter.dfm:452
+#: filter.dfm:462
 msgid "Merge waypoints with duplicate locations"
 msgstr "Fasse Wegpunkte mit gleichen Koordinaten zusammen"
 
 #. frmFilter..gbWaypoints..cbWayptMergeDupLoc..Caption
-#: filter.dfm:453
+#: filter.dfm:463
 msgid "locations"
 msgstr "Koordinaten"
 
 #. frmFilter..gbWaypoints..cbWayptMergeDupNames..Hint
-#: filter.dfm:462
+#: filter.dfm:472
 msgid "Merge waypoints with duplicate \"short name\""
 msgstr "Fasse Wegpunkte mit gleichem Namen zusammen"
 
 #. frmFilter..gbWaypoints..cbWayptMergeDupNames..Caption
-#: filter.dfm:463
+#: filter.dfm:473
 msgid "\"short names\""
 msgstr "\"Kurznamen\""
 
 #. frmFilter..gbWaypoints..cbWayptMergeDistance..Hint
-#: filter.dfm:472
+#: filter.dfm:482
 msgid "Merge waypoints separated by less then"
-msgstr ""
+msgstr "Fasse alle Wegpunkte zusammen, die weniger als ... auseinander liegen"
 
 #. frmFilter..gbWaypoints..cbWayptMergeDistance..Caption
-#: filter.dfm:473
+#: filter.dfm:483
 msgid "Position"
 msgstr "Position"
 
 #. frmFilter..gbWaypoints..cbWayptSort..Hint
-#: filter.dfm:501
+#: filter.dfm:511
 msgid "Sort waypoints by \"short name\" or by description"
 msgstr "Sortiere Wegpunkte nach Name oder Beschreibung"
 
 #. frmFilter..gbWaypoints..cbWayptSort..Caption
-#: filter.dfm:502
+#: filter.dfm:512
 msgid "Sort"
 msgstr "Sortieren"
 
 #. frmFilter..gbWaypoints..cbWayptMergeDups..Hint
-#: filter.dfm:510
+#: filter.dfm:520
 msgid "Merge duplicate waypoints"
 msgstr "Entferne doppelte Wegpunkte"
 
 #. frmFilter..gbWaypoints..cbWayptMergeDups..Caption
-#: filter.dfm:511
+#: filter.dfm:521
 msgid "Duplicatates"
 msgstr "Duplikate"
 
+#. frmFilter..gbWaypoints..cbWayptRadius..Hint
+#: filter.dfm:530
+msgid "Include points based on their proximity to central point"
+msgstr "Übernehme nur Punkte mit Entfernung von maximal ... um Mittelpunkt ..."
+
 #. frmFilter..gbWaypoints..cbWayptRadius..Caption
-#: filter.dfm:520
+#: filter.dfm:531
 msgid "Radius"
 msgstr "Radius"
 
+#. frmFilter..gbWaypoints..edWayptRadiusLat..Hint
+#: filter.dfm:559
+msgid "Latitude of central point"
+msgstr "Breitengrad (Latitude) des Mittelpunktes"
+
+#. frmFilter..gbWaypoints..edWayptRadiusLon..Hint
+#: filter.dfm:569
+msgid "Longitude of central point"
+msgstr "Längengrad (Longitude) des Mittelpunktes"
+
 #. frmMain..Caption
 #. Programmer's name for it: SGPSBabelTitle
 #: main.dfm:6
@@ -355,155 +370,160 @@ msgstr "Ausgabe-Format"
 
 #. frmMain..Panel1..chbInputDevice..Caption
 #. frmMain..Panel1..chbOutputDevice..Caption
-#: main.dfm:152
-#: main.dfm:204
+#: main.dfm:153
+#: main.dfm:205
 msgid "Device"
 msgstr "Gerät"
 
 #. frmMain..Panel1..cbInputDevice....Items.Strings
 #. frmMain..Panel1..cbOutputDevice....Items.Strings
-#: main.dfm:165
-#: main.dfm:217
+#: main.dfm:166
+#: main.dfm:218
 msgid "USB"
 msgstr "USB"
 
 #. frmMain..Panel1..cbInputDevice....Items.Strings
 #. frmMain..Panel1..cbOutputDevice....Items.Strings
-#: main.dfm:166
-#: main.dfm:218
+#: main.dfm:167
+#: main.dfm:219
 msgid "COM1"
 msgstr "COM1"
 
 #. frmMain..Panel1..cbInputDevice....Items.Strings
 #. frmMain..Panel1..cbOutputDevice....Items.Strings
-#: main.dfm:167
-#: main.dfm:219
+#: main.dfm:168
+#: main.dfm:220
 msgid "COM2"
 msgstr "COM2"
 
 #. frmMain..Panel1..cbInputDevice....Items.Strings
 #. frmMain..Panel1..cbOutputDevice....Items.Strings
-#: main.dfm:168
-#: main.dfm:220
+#: main.dfm:169
+#: main.dfm:221
 msgid "COM3"
 msgstr "COM3"
 
 #. frmMain..Panel1..cbInputDevice....Items.Strings
 #. frmMain..Panel1..cbOutputDevice....Items.Strings
-#: main.dfm:169
-#: main.dfm:221
+#: main.dfm:170
+#: main.dfm:222
 msgid "COM4"
 msgstr "COM4"
 
 #. frmMain..Panel2..lbWhat..Caption
-#: main.dfm:240
+#: main.dfm:241
 msgid "What ?"
 msgstr "Was?"
 
 #. frmMain..Panel2..cbRoutes..Caption
-#: main.dfm:390
+#: main.dfm:391
 msgid "&Routes"
 msgstr "&Routen"
 
 #. frmMain..Panel2..btnFilter..Caption
 #. frmMain..ActionList1..acFilterSelect..Caption
-#: main.dfm:410
-#: main.dfm:915
+#: main.dfm:411
+#: main.dfm:917
 msgid "&Filter"
 msgstr "&Filter"
 
 #. frmMain..Panel2..btnProcess..Caption
 #. frmMain..ActionList1..acConvert..Caption
-#: main.dfm:434
-#: main.dfm:908
+#: main.dfm:435
+#: main.dfm:910
 msgid "let's go"
 msgstr "und los"
 
 #. frmMain..memoOutput..Font.Name
-#: main.dfm:461
+#: main.dfm:462
 msgid "Fixedsys"
 msgstr "Fixedsys"
 
 #. frmMain..stbMain........Text
-#: main.dfm:481
+#: main.dfm:482
 msgid "http://www.gpsbabel.org (http://sourceforge.net/projects/gpsbabel)"
 msgstr "http://www.gpsbabel.org (http://sourceforge.net/projects/gpsbabel)"
 
 #. frmMain..OpenDialog..Filter
-#: main.dfm:488
-msgid "Garmin Mapsource|*.gdb|Garmin Mapsource mps|*.mps|All files|*.*"
-msgstr "Garmin Mapsource|*.gdb|Garmin Mapsource mps|*.mps|All files|*.*"
+#: main.dfm:489
+msgid "Garmin Mapsource mps|*.mps|All files|*.*"
+msgstr "Garmin Mapsource mps|*.mps|Alle Dateien|*.*"
+
+#. frmMain..SaveDialog..Filter
+#: main.dfm:495
+msgid "All file(s)|*.*|Garmin MapSource mps|*.mps"
+msgstr "Alle Dateien|*.*|Garmin MapSource mps|*.mps"
 
 #. frmMain..ActionList1..acConvert..Category
 #. frmMain..ActionList1..acFilterSelect..Category
-#: main.dfm:907
-#: main.dfm:914
+#: main.dfm:909
+#: main.dfm:916
 msgid "Babel"
 msgstr "Babel"
 
 #. frmMain..ActionList1..acFileExit..Category
-#: main.dfm:920
+#: main.dfm:922
 msgid "File"
 msgstr "Datei"
 
 #. frmMain..ActionList1..acFileExit..Caption
-#: main.dfm:921
+#: main.dfm:923
 msgid "E&xit"
 msgstr "Beenden"
 
 #. frmMain..ActionList1..acHelpAbout..Category
 #. frmMain..ActionList1..acHelpIntro..Category
 #. frmMain..ActionList1..acHelpReadme..Category
-#: main.dfm:926
-#: main.dfm:931
-#: main.dfm:935
+#: main.dfm:928
+#: main.dfm:933
+#: main.dfm:937
 msgid "Help"
 msgstr "Hilfe"
 
 #. frmMain..ActionList1..acHelpAbout..Caption
-#: main.dfm:927
+#: main.dfm:929
 msgid "&About"
 msgstr "Über"
 
 #. frmMain..ActionList1..acHelpIntro..Caption
-#: main.dfm:932
+#: main.dfm:934
 msgid "&Intro"
 msgstr "Einführung"
 
 #. frmMain..ActionList1..acHelpReadme..Caption
 #. frmReadme..Caption
-#: main.dfm:936
+#: main.dfm:938
 #: readme.dfm:6
 msgid "GPSBabel README"
 msgstr "GPSBabel README"
 
 #. frmMain..MainMenu1..mnuFile..Caption
-#: main.dfm:945
+#: main.dfm:947
 msgid "&File"
 msgstr "&Datei"
 
 #. frmMain..MainMenu1..mnuOptions..Caption
-#: main.dfm:951
+#: main.dfm:953
 msgid "&Options"
 msgstr "&Optionen"
 
 #. frmMain..MainMenu1..mnuOptions..mnuSynthesizeShortNames..Caption
-#: main.dfm:953
+#: main.dfm:955
 msgid "Synthesize short names"
 msgstr "Synthetisiere Kurznamen"
 
 #. frmMain..MainMenu1..mnuOptions..mnuSynthesizeShortNames....Hint
-#: main.dfm:956
+#: main.dfm:958
 msgid "Ignore \"short\" names from source data and synthesize them from the long name"
-msgstr ""
+msgstr "Ignoriere alle \"Kurznamen\" und generiere diese neu aus Bechreibung oder Bemerkung"
 
 #. frmMain..MainMenu1..mnuHelp..Caption
-#: main.dfm:962
+#: main.dfm:964
 msgid "&Help"
 msgstr "&Hilfe"
 
 #. frmMain..MainMenu1..mnuHelp..N1..Caption
-#: main.dfm:970
+#: main.dfm:972
 msgid "-"
 msgstr "-"
 
@@ -511,73 +531,77 @@ msgstr "-"
 msgid "Version"
 msgstr "Version"
 
+#: about.pas:83
+msgid "German by Olaf Klein"
+msgstr "Deutsch von Olaf Klein"
+
+#: about.pas:84
+msgid "French by Lilian Morinon"
+msgstr "Französich von Lilian Morinon"
+
 #. Programmer's name for it: SGPSBabelURL
 #: common.pas:27
 msgid "http://www.gpsbabel.org"
 msgstr "http://www.gpsbabel.org"
 
-#: filter.pas:159
+#: filter.pas:160
 msgid "Value (%s) out of range (%g to %g)!"
 msgstr "Wert (%s) liegt außerhalb des zulässigen Bereiches  (%g to %g)!"
 
-#. will not be translated, fill by hand
-#: filter.pas:219
+#: filter.pas:228
 msgid "Feet"
 msgstr "\"Feet\" (engl.)"
 
-#: filter.pas:220
+#: filter.pas:229
 msgid "Meter"
 msgstr "Meter"
 
-#: filter.pas:223
+#: filter.pas:232
 msgid "Miles"
 msgstr "Meilen"
 
-#: filter.pas:224
+#: filter.pas:233
 msgid "Kilometer"
 msgstr "Kilometer"
 
-#: main.pas:165
+#: main.pas:167
 msgid "BETA"
 msgstr "BETA"
 
-#: main.pas:167
+#: main.pas:169
 msgid "Private release"
 msgstr "Private Version"
 
-#: main.pas:169
+#: main.pas:171
 msgid "Special release"
 msgstr "Spezial-Version"
 
-#: main.pas:277
+#: main.pas:279
+#: main.pas:374
 msgid "All files|*.*"
 msgstr "Alle Dateien|*.*"
 
-#: main.pas:366
-msgid "|All files|*.*"
-msgstr "|Alle Dateien|*.*"
-
-#: main.pas:407
+#: main.pas:415
 msgid "File %s not found."
 msgstr "Datei \"%s\" nicht gefunden."
 
-#: main.pas:424
+#: main.pas:432
 msgid "File \"%s\" exists ! Overwrite ?"
 msgstr "Datei \"%s\" existiert bereits! Überschreiben?"
 
-#: main.pas:425
+#: main.pas:433
 msgid "Warning"
 msgstr "Warnung"
 
-#: main.pas:450
+#: main.pas:458
 msgid "Could not run \"gpsbabel.exe\"!"
 msgstr "Konnte \"gpsbabel.exe\" nicht ausführen!"
 
-#: main.pas:459
+#: main.pas:467
 msgid "Converted successfully from \"%s\" to \"%s\"."
 msgstr "Erfolgreich konvertiert von \"%s\" zu \"%s\"."
 
-#: main.pas:460
+#: main.pas:468
 msgid "Success"
 msgstr "Erfolg"
 
index ed229a96a463d95e41e6b64fb85fffe223ef84a6..66b6ca743ef7f0d3e7fe511b8c08de11b9cdf253 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: French version\n"
 "POT-Creation-Date: 2005-09-22 23:44\n"
-"PO-Revision-Date: 2005-10-01 00:52+0100\n"
+"PO-Revision-Date: 2005-10-05 00:36+0100\n"
 "Last-Translator: Olaf Klein <o.b.klein@t-online.de>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -37,7 +37,7 @@ msgstr "A propos"
 #: about.dfm:166
 #: filter.dfm:13
 #: main.dfm:11
-#: main.dfm:244
+#: main.dfm:245
 #: readme.dfm:11
 msgid "MS Sans Serif"
 msgstr "MS Sans Serif"
@@ -88,16 +88,6 @@ msgstr "L'interface graphique de gpsbabel"
 msgid "THIS SOFTWARE MAY ONLY BE LICENSED FREE OF CHARGE"
 msgstr ""
 
-#. frmAbout..pnClient..pnCenter..lbxTranslators....Items.Strings
-#: about.dfm:183
-msgid "German by Olaf Klein"
-msgstr ""
-
-#. frmAbout..pnClient..pnCenter..lbxTranslators....Items.Strings
-#: about.dfm:184
-msgid "French by Lilian Morinon"
-msgstr ""
-
 #. frmFilter..Caption
 #: filter.dfm:6
 msgid "Filter"
@@ -106,7 +96,7 @@ msgstr "Filtre"
 #. frmFilter..gbTracks..Caption
 #. frmMain..Panel2..cbTracks..Caption
 #: filter.dfm:29
-#: main.dfm:399
+#: main.dfm:400
 msgid "&Tracks"
 msgstr "&Traces"
 
@@ -205,133 +195,158 @@ msgstr "Fusionner toutes les traces en une seule"
 msgid "Merge"
 msgstr "Fusionner"
 
+#. frmFilter..gbTracks..cbTrackRangeTimeZone..Hint
+#: filter.dfm:294
+msgid "Shift start/stop by local timezone offset"
+msgstr ""
+
+#. frmFilter..gbTracks..cbTrackRangeTimeZone..Caption
+#: filter.dfm:295
+msgid "TZ"
+msgstr ""
+
 #. frmFilter..gbRoutes..Caption
-#: filter.dfm:296
+#: filter.dfm:306
 msgid "&Routes && Tracks"
 msgstr "&Routes && Traces"
 
 #. frmFilter..gbRoutes..lbRouteSimplifyCount..Caption
-#: filter.dfm:304
+#: filter.dfm:314
 msgid "limit to"
 msgstr "limiter à"
 
 #. frmFilter..gbRoutes..lbRouteSimplifyText..Caption
-#: filter.dfm:312
+#: filter.dfm:322
 msgid "Points"
 msgstr ""
 
 #. frmFilter..gbRoutes..cbRouteSimplify..Hint
-#: filter.dfm:319
+#: filter.dfm:329
 msgid "Simplify routes and tracks by limited number of points"
 msgstr "Simplifier les routes et traces en limitant le nombre de points"
 
 #. frmFilter..gbRoutes..cbRouteSimplify..Caption
-#: filter.dfm:320
+#: filter.dfm:330
 msgid "Simplify"
 msgstr "Simplifier"
 
 #. frmFilter..gbRoutes..edRoutesSimplifyMaxPoints..Hint
-#: filter.dfm:329
+#: filter.dfm:339
 msgid "Upper limit of points for routes and tracks"
 msgstr "Limite maximum du nombre de points pour les routes et traces"
 
 #. frmFilter..gbRoutes..edRoutesSimplifyMaxPoints..Text
-#: filter.dfm:334
+#: filter.dfm:344
 msgid "50 "
 msgstr "50 "
 
 #. frmFilter..gbRoutes..cbReverse..Hint
-#: filter.dfm:353
+#: filter.dfm:363
 msgid "Reverse routes and tracks"
 msgstr "Inverser les routes et les traces"
 
 #. frmFilter..gbRoutes..cbReverse..Caption
-#: filter.dfm:354
+#: filter.dfm:364
 msgid "Reverse"
 msgstr "Inverser"
 
 #. frmFilter..pnBottom..btnOK..Caption
-#: filter.dfm:371
+#: filter.dfm:381
 msgid "OK"
 msgstr "OK"
 
 #. frmFilter..pnBottom..BitBtn1..Caption
-#: filter.dfm:407
+#: filter.dfm:417
 msgid "File based filters"
 msgstr "Filtres de fichiers"
 
 #. frmFilter..gbWaypoints..Caption
 #. frmMain..Panel2..cbWaypoints..Caption
-#: filter.dfm:427
-#: main.dfm:379
+#: filter.dfm:437
+#: main.dfm:380
 msgid "&Waypoints"
 msgstr ""
 
 #. frmFilter..gbWaypoints..lbWayptRadiusLat..Caption
-#: filter.dfm:436
+#: filter.dfm:446
 msgid "Latitude"
 msgstr ""
 
 #. frmFilter..gbWaypoints..lbWayptRadiusLon..Caption
-#: filter.dfm:444
+#: filter.dfm:454
 msgid "Longitude"
 msgstr ""
 
 #. frmFilter..gbWaypoints..cbWayptMergeDupLoc..Hint
-#: filter.dfm:452
+#: filter.dfm:462
 msgid "Merge waypoints with duplicate locations"
 msgstr "Fusionner les waypoints avec les positions en doublon"
 
 #. frmFilter..gbWaypoints..cbWayptMergeDupLoc..Caption
-#: filter.dfm:453
+#: filter.dfm:463
 msgid "locations"
 msgstr "positions"
 
 #. frmFilter..gbWaypoints..cbWayptMergeDupNames..Hint
-#: filter.dfm:462
+#: filter.dfm:472
 msgid "Merge waypoints with duplicate \"short name\""
 msgstr "Fusionner les waypoints avec les doublons \"short name\""
 
 #. frmFilter..gbWaypoints..cbWayptMergeDupNames..Caption
-#: filter.dfm:463
+#: filter.dfm:473
 msgid "\"short names\""
 msgstr ""
 
 #. frmFilter..gbWaypoints..cbWayptMergeDistance..Hint
-#: filter.dfm:472
+#: filter.dfm:482
 msgid "Merge waypoints separated by less then"
 msgstr "Fusionner les waypoints séparé par moins de"
 
 #. frmFilter..gbWaypoints..cbWayptMergeDistance..Caption
-#: filter.dfm:473
+#: filter.dfm:483
 msgid "Position"
 msgstr ""
 
 #. frmFilter..gbWaypoints..cbWayptSort..Hint
-#: filter.dfm:501
+#: filter.dfm:511
 msgid "Sort waypoints by \"short name\" or by description"
 msgstr "Trier les waypoints par \"short name\" ou par description"
 
 #. frmFilter..gbWaypoints..cbWayptSort..Caption
-#: filter.dfm:502
+#: filter.dfm:512
 msgid "Sort"
 msgstr "Trier"
 
 #. frmFilter..gbWaypoints..cbWayptMergeDups..Hint
-#: filter.dfm:510
+#: filter.dfm:520
 msgid "Merge duplicate waypoints"
 msgstr "Fusionner les waypoints identiques"
 
 #. frmFilter..gbWaypoints..cbWayptMergeDups..Caption
-#: filter.dfm:511
+#: filter.dfm:521
 msgid "Duplicatates"
 msgstr "Doublons"
 
+#. frmFilter..gbWaypoints..cbWayptRadius..Hint
+#: filter.dfm:530
+msgid "Include points based on their proximity to central point"
+msgstr ""
+
 #. frmFilter..gbWaypoints..cbWayptRadius..Caption
-#: filter.dfm:520
+#: filter.dfm:531
 msgid "Radius"
 msgstr "Rayon"
 
+#. frmFilter..gbWaypoints..edWayptRadiusLat..Hint
+#: filter.dfm:559
+msgid "Latitude of central point"
+msgstr ""
+
+#. frmFilter..gbWaypoints..edWayptRadiusLon..Hint
+#: filter.dfm:569
+msgid "Longitude of central point"
+msgstr ""
+
 #. frmMain..Caption
 #. Programmer's name for it: SGPSBabelTitle
 #: main.dfm:6
@@ -361,155 +376,160 @@ msgstr "Format ci&ble"
 
 #. frmMain..Panel1..chbInputDevice..Caption
 #. frmMain..Panel1..chbOutputDevice..Caption
-#: main.dfm:152
-#: main.dfm:204
+#: main.dfm:153
+#: main.dfm:205
 msgid "Device"
 msgstr "Périphérique"
 
 #. frmMain..Panel1..cbInputDevice....Items.Strings
 #. frmMain..Panel1..cbOutputDevice....Items.Strings
-#: main.dfm:165
-#: main.dfm:217
+#: main.dfm:166
+#: main.dfm:218
 msgid "USB"
 msgstr "USB"
 
 #. frmMain..Panel1..cbInputDevice....Items.Strings
 #. frmMain..Panel1..cbOutputDevice....Items.Strings
-#: main.dfm:166
-#: main.dfm:218
+#: main.dfm:167
+#: main.dfm:219
 msgid "COM1"
 msgstr "COM1"
 
 #. frmMain..Panel1..cbInputDevice....Items.Strings
 #. frmMain..Panel1..cbOutputDevice....Items.Strings
-#: main.dfm:167
-#: main.dfm:219
+#: main.dfm:168
+#: main.dfm:220
 msgid "COM2"
 msgstr "COM2"
 
 #. frmMain..Panel1..cbInputDevice....Items.Strings
 #. frmMain..Panel1..cbOutputDevice....Items.Strings
-#: main.dfm:168
-#: main.dfm:220
+#: main.dfm:169
+#: main.dfm:221
 msgid "COM3"
 msgstr "COM3"
 
 #. frmMain..Panel1..cbInputDevice....Items.Strings
 #. frmMain..Panel1..cbOutputDevice....Items.Strings
-#: main.dfm:169
-#: main.dfm:221
+#: main.dfm:170
+#: main.dfm:222
 msgid "COM4"
 msgstr "COM4"
 
 #. frmMain..Panel2..lbWhat..Caption
-#: main.dfm:240
+#: main.dfm:241
 msgid "What ?"
 msgstr "Quoi ?"
 
 #. frmMain..Panel2..cbRoutes..Caption
-#: main.dfm:390
+#: main.dfm:391
 msgid "&Routes"
 msgstr ""
 
 #. frmMain..Panel2..btnFilter..Caption
 #. frmMain..ActionList1..acFilterSelect..Caption
-#: main.dfm:410
-#: main.dfm:915
+#: main.dfm:411
+#: main.dfm:917
 msgid "&Filter"
 msgstr "&Filtre"
 
 #. frmMain..Panel2..btnProcess..Caption
 #. frmMain..ActionList1..acConvert..Caption
-#: main.dfm:434
-#: main.dfm:908
+#: main.dfm:435
+#: main.dfm:910
 msgid "let's go"
 msgstr "Lancer"
 
 #. frmMain..memoOutput..Font.Name
-#: main.dfm:461
+#: main.dfm:462
 msgid "Fixedsys"
 msgstr "Fixedsys"
 
 #. frmMain..stbMain........Text
-#: main.dfm:481
+#: main.dfm:482
 msgid "http://www.gpsbabel.org (http://sourceforge.net/projects/gpsbabel)"
 msgstr "http://www.gpsbabel.org (http://sourceforge.net/projects/gpsbabel)"
 
 #. frmMain..OpenDialog..Filter
-#: main.dfm:488
-msgid "Garmin Mapsource|*.gdb|Garmin Mapsource mps|*.mps|All files|*.*"
-msgstr "Garmin Mapsource|*.gdb|Garmin Mapsource mps|*.mps|Tous les fichiers|*.*"
+#: main.dfm:489
+msgid "Garmin Mapsource mps|*.mps|All files|*.*"
+msgstr ""
+
+#. frmMain..SaveDialog..Filter
+#: main.dfm:495
+msgid "All file(s)|*.*|Garmin MapSource mps|*.mps"
+msgstr ""
 
 #. frmMain..ActionList1..acConvert..Category
 #. frmMain..ActionList1..acFilterSelect..Category
-#: main.dfm:907
-#: main.dfm:914
+#: main.dfm:909
+#: main.dfm:916
 msgid "Babel"
 msgstr "Babel"
 
 #. frmMain..ActionList1..acFileExit..Category
-#: main.dfm:920
+#: main.dfm:922
 msgid "File"
 msgstr "Fichier"
 
 #. frmMain..ActionList1..acFileExit..Caption
-#: main.dfm:921
+#: main.dfm:923
 msgid "E&xit"
 msgstr "F&ermer"
 
 #. frmMain..ActionList1..acHelpAbout..Category
 #. frmMain..ActionList1..acHelpIntro..Category
 #. frmMain..ActionList1..acHelpReadme..Category
-#: main.dfm:926
-#: main.dfm:931
-#: main.dfm:935
+#: main.dfm:928
+#: main.dfm:933
+#: main.dfm:937
 msgid "Help"
 msgstr "Aide"
 
 #. frmMain..ActionList1..acHelpAbout..Caption
-#: main.dfm:927
+#: main.dfm:929
 msgid "&About"
 msgstr "&A propos"
 
 #. frmMain..ActionList1..acHelpIntro..Caption
-#: main.dfm:932
+#: main.dfm:934
 msgid "&Intro"
 msgstr "&Introduction"
 
 #. frmMain..ActionList1..acHelpReadme..Caption
 #. frmReadme..Caption
-#: main.dfm:936
+#: main.dfm:938
 #: readme.dfm:6
 msgid "GPSBabel README"
 msgstr "GPSBabel README"
 
 #. frmMain..MainMenu1..mnuFile..Caption
-#: main.dfm:945
+#: main.dfm:947
 msgid "&File"
 msgstr "&Fichier"
 
 #. frmMain..MainMenu1..mnuOptions..Caption
-#: main.dfm:951
+#: main.dfm:953
 msgid "&Options"
 msgstr ""
 
 #. frmMain..MainMenu1..mnuOptions..mnuSynthesizeShortNames..Caption
-#: main.dfm:953
+#: main.dfm:955
 msgid "Synthesize short names"
 msgstr ""
 
 #. frmMain..MainMenu1..mnuOptions..mnuSynthesizeShortNames....Hint
-#: main.dfm:956
+#: main.dfm:958
 msgid "Ignore \"short\" names from source data and synthesize them from the long name"
 msgstr ""
 
 #. frmMain..MainMenu1..mnuHelp..Caption
-#: main.dfm:962
+#: main.dfm:964
 msgid "&Help"
 msgstr "&Aide"
 
 #. frmMain..MainMenu1..mnuHelp..N1..Caption
-#: main.dfm:970
+#: main.dfm:972
 msgid "-"
 msgstr "-"
 
@@ -517,73 +537,77 @@ msgstr "-"
 msgid "Version"
 msgstr ""
 
+#: about.pas:83
+msgid "German by Olaf Klein"
+msgstr ""
+
+#: about.pas:84
+msgid "French by Lilian Morinon"
+msgstr ""
+
 #. Programmer's name for it: SGPSBabelURL
 #: common.pas:27
 msgid "http://www.gpsbabel.org"
 msgstr "http://www.gpsbabel.org"
 
-#: filter.pas:159
+#: filter.pas:160
 msgid "Value (%s) out of range (%g to %g)!"
 msgstr ""
 
-#. will not be translated, fill by hand
-#: filter.pas:219
+#: filter.pas:228
 msgid "Feet"
 msgstr ""
 
-#: filter.pas:220
+#: filter.pas:229
 msgid "Meter"
 msgstr ""
 
-#: filter.pas:223
+#: filter.pas:232
 msgid "Miles"
 msgstr ""
 
-#: filter.pas:224
+#: filter.pas:233
 msgid "Kilometer"
 msgstr ""
 
-#: main.pas:165
+#: main.pas:167
 msgid "BETA"
 msgstr "BETA"
 
-#: main.pas:167
+#: main.pas:169
 msgid "Private release"
 msgstr ""
 
-#: main.pas:169
+#: main.pas:171
 msgid "Special release"
 msgstr ""
 
-#: main.pas:277
+#: main.pas:279
+#: main.pas:374
 msgid "All files|*.*"
 msgstr "Tous les fichiers|*.*"
 
-#: main.pas:366
-msgid "|All files|*.*"
-msgstr "|Tous les fichiers|*.*"
-
-#: main.pas:407
+#: main.pas:415
 msgid "File %s not found."
 msgstr "Fichier%s non trouvé."
 
-#: main.pas:424
+#: main.pas:432
 msgid "File \"%s\" exists ! Overwrite ?"
 msgstr "Le fichier \"%s\" existe déjà ! Ecraser ?"
 
-#: main.pas:425
+#: main.pas:433
 msgid "Warning"
 msgstr "Attention"
 
-#: main.pas:450
+#: main.pas:458
 msgid "Could not run \"gpsbabel.exe\"!"
 msgstr "Impossible d'éxécuter \"gpsbabel.exe\"!"
 
-#: main.pas:459
+#: main.pas:467
 msgid "Converted successfully from \"%s\" to \"%s\"."
 msgstr "Conversion de \"%s\" à \"%s\" réussie."
 
-#: main.pas:460
+#: main.pas:468
 msgid "Success"
 msgstr "Succès"
 
index 1d4755dcc2aabbbf1d0b4cec0ea36fc2c0afd343..ae0b69b3c1c75e2fd9f032f2bd0dd1fbaa829a3f 100644 (file)
Binary files a/gpsbabel/win32/gui-2/main.dfm and b/gpsbabel/win32/gui-2/main.dfm differ
index 6e46e02c2d316e671dca60b7749820712e35ef02..7bea74ab4743b4766f500bb2e21a73884d37b9cd 100644 (file)
@@ -101,10 +101,12 @@ type
     procedure chbOutputDeviceClick(Sender: TObject);\r
     procedure acHelpReadmeExecute(Sender: TObject);\r
     procedure mnuSynthesizeShortNamesClick(Sender: TObject);\r
+    procedure edOutputFileKeyPress(Sender: TObject; var Key: Char);\r
   private\r
     { Private-Deklarationen }\r
     FCaps: TCapabilities;\r
     FFirstShow: Boolean;\r
+    FOutHandmade: Boolean;\r
     procedure AddToOutput(const Str: string);\r
     procedure AddToOutputFmt(const Format: string; const Args: array of const);\r
     procedure InitCombo(Target: TComboBox; ForRead, ForDevice: Boolean);\r
@@ -141,6 +143,15 @@ begin
     Control.Left := Right - Control.Width - ShiftLeft;\r
 end;\r
 \r
+function ComboBoxSelect(AComboBox: TComboBox; const Item: string): Boolean;\r
+var\r
+  i: Integer;\r
+begin\r
+  i := AComboBox.Items.IndexOf(Item);\r
+  AComboBox.ItemIndex := i;\r
+  Result := (i >= 0);\r
+end;\r
+\r
 { TfrmMain }\r
 \r
 procedure TfrmMain.FormCreate(Sender: TObject);\r
@@ -174,16 +185,10 @@ begin
   OpenDialog.InitialDir := ReadProfile(OpenDialog.Tag);\r
   SaveDialog.InitialDir := ReadProfile(SaveDialog.Tag);\r
 \r
-  s := ReadProfile(cbInputDevice.Tag);\r
-  if (s <> '') then\r
-    cbInputDevice.Text := s\r
-  else\r
+  if not ComboBoxSelect(cbInputDevice, ReadProfile(cbInputDevice.Tag)) then\r
     cbInputDevice.ItemIndex := 0;\r
 \r
-  s := ReadProfile(cbOutputDevice.Tag);\r
-  if (s <> '') then\r
-    cbOutputDevice.Text := s\r
-  else\r
+  if not ComboBoxSelect(cbOutputDevice, ReadProfile(cbOutputDevice.Tag)) then\r
     cbOutputDevice.ItemIndex := 0;\r
 \r
   FFirstShow := True;\r
@@ -229,7 +234,7 @@ begin
   LoadVersion;\r
   LoadFileFormats;\r
   \r
-  // README form\r
+  // ? valid README form\r
 \r
   acHelpReadme.Enabled := (frmReadme.Memo.Lines.Count > 0);\r
 end;\r
@@ -254,14 +259,8 @@ begin
   end;\r
 \r
   s := ReadProfile(Target.Tag);\r
+  ComboBoxSelect(Target, s);\r
 \r
-  i := FCaps.GetCaps(s);\r
-  if (i > 0) then\r
-  begin\r
-    i := Target.Items.IndexOf(s);\r
-    if (i >= 0) then\r
-      Target.ItemIndex := i;\r
-  end;\r
   ComboChange(Target);\r
 end;\r
 \r
@@ -289,6 +288,11 @@ var
 begin\r
   caps := FCaps.GetCaps(TComboBox(Sender).Text);\r
   ext := FCaps.GetExt(TComboBox(Sender).Text);\r
+  if FOutHandmade and (ext = '') then\r
+  begin\r
+    ext := SysUtils.ExtractFileExt(edOutputFile.Text);\r
+    if (ext <> '') and (ext[1] = '.') then Delete(ext, 1, 1);\r
+  end;\r
 \r
   if (Sender = cbInputFormat) then\r
   begin\r
@@ -301,8 +305,9 @@ begin
     wptOutputOK.Enabled := (caps and 2 <> 0);\r
     trkOutputOK.Enabled := (caps and 8 <> 0);\r
     rteOutputOK.Enabled := (caps and 32 <> 0);\r
-    if (edOutputFile.Text <> '') and (ext <> '') then\r
+    if (edOutputFile.Text <> '') then\r
     begin\r
+      if (ext <> '') then FOutHandmade := False;\r
       edOutputFile.Text := SysUtils.ChangeFileExt(edOutputFile.Text, '.' + ext);\r
     end;\r
   end;\r
@@ -363,7 +368,7 @@ begin
 \r
   if (cbOutputFormat.Text <> '') then\r
     s := cbOutputFormat.Text + '|*.' + FCaps.GetExt(cbOutputFormat.Text) + '|';\r
-  s := s + _('|All files|*.*');\r
+  s := s + _('All files|*.*');\r
 \r
   SaveDialog.Filter := s;\r
   if not SELF.SaveDialog.Execute then Exit;\r
@@ -598,5 +603,10 @@ begin
   mnuSynthesizeShortNames.Checked := not(mnuSynthesizeShortNames.Checked);\r
 end;\r
 \r
+procedure TfrmMain.edOutputFileKeyPress(Sender: TObject; var Key: Char);\r
+begin\r
+  FOutHandmade := True;\r
+end;\r
+\r
 end.\r
  
\ No newline at end of file
index b92b31703a773b3edb08f208a3fdfbe339afc507..9c2f6a503ffc716305f2cad8800b20e743af621d 100644 (file)
@@ -7,8 +7,8 @@
 msgid ""\r
 msgstr ""\r
 "Project-Id-Version: PACKAGE VERSION\n"\r
-"POT-Creation-Date: 2005-10-01 00:49\n"\r
-"PO-Revision-Date: 2005-10-01 00:49\n"\r
+"POT-Creation-Date: 2005-10-04 23:50\n"\r
+"PO-Revision-Date: 2005-10-04 23:50\n"\r
 "Last-Translator: Somebody <your.email@address.com>\n"\r
 "MIME-Version: 1.0\n"\r
 "Content-Type: text/plain; charset=UTF-8\n"\r
@@ -33,7 +33,7 @@ msgstr ""
 #. frmMain..Font.Name\r
 #: main.dfm:11\r
 #. frmMain..Panel2..lbWhat..Font.Name\r
-#: main.dfm:244\r
+#: main.dfm:245\r
 #. frmReadme..Font.Name\r
 #: readme.dfm:11\r
 msgid "MS Sans Serif"\r
@@ -87,16 +87,6 @@ msgid "THIS SOFTWARE MAY ONLY BE LICENSED FREE OF "
 "CHARGE"\r
 msgstr ""\r
 \r
-#. frmAbout..pnClient..pnCenter..lbxTranslators....Items.Strings\r
-#: about.dfm:183\r
-msgid "German by Olaf Klein"\r
-msgstr ""\r
-\r
-#. frmAbout..pnClient..pnCenter..lbxTranslators....Items.Strings\r
-#: about.dfm:184\r
-msgid "French by Lilian Morinon"\r
-msgstr ""\r
-\r
 #. frmFilter..Caption\r
 #: filter.dfm:6\r
 msgid "Filter"\r
@@ -105,7 +95,7 @@ msgstr ""
 #. frmFilter..gbTracks..Caption\r
 #: filter.dfm:29\r
 #. frmMain..Panel2..cbTracks..Caption\r
-#: main.dfm:399\r
+#: main.dfm:400\r
 msgid "&Tracks"\r
 msgstr ""\r
 \r
@@ -206,137 +196,163 @@ msgstr ""
 msgid "Merge"\r
 msgstr ""\r
 \r
+#. frmFilter..gbTracks..cbTrackRangeTimeZone..Hint\r
+#: filter.dfm:294\r
+msgid "Shift start/stop by local timezone offset"\r
+msgstr ""\r
+\r
+#. frmFilter..gbTracks..cbTrackRangeTimeZone..Caption\r
+#: filter.dfm:295\r
+msgid "TZ"\r
+msgstr ""\r
+\r
 #. frmFilter..gbRoutes..Caption\r
-#: filter.dfm:296\r
+#: filter.dfm:306\r
 msgid "&Routes && Tracks"\r
 msgstr ""\r
 \r
 #. frmFilter..gbRoutes..lbRouteSimplifyCount..Caption\r
-#: filter.dfm:304\r
+#: filter.dfm:314\r
 msgid "limit to"\r
 msgstr ""\r
 \r
 #. frmFilter..gbRoutes..lbRouteSimplifyText..Caption\r
-#: filter.dfm:312\r
+#: filter.dfm:322\r
 msgid "Points"\r
 msgstr ""\r
 \r
 #. frmFilter..gbRoutes..cbRouteSimplify..Hint\r
-#: filter.dfm:319\r
+#: filter.dfm:329\r
 msgid "Simplify routes and tracks by limited number of "\r
 "points"\r
 msgstr ""\r
 \r
 #. frmFilter..gbRoutes..cbRouteSimplify..Caption\r
-#: filter.dfm:320\r
+#: filter.dfm:330\r
 msgid "Simplify"\r
 msgstr ""\r
 \r
 #. frmFilter..gbRoutes..edRoutesSimplifyMaxPoints..Hint\r
-#: filter.dfm:329\r
+#: filter.dfm:339\r
 msgid "Upper limit of points for routes and "\r
 "tracks"\r
 msgstr ""\r
 \r
 #. frmFilter..gbRoutes..edRoutesSimplifyMaxPoints..Text\r
-#: filter.dfm:334\r
+#: filter.dfm:344\r
 msgid "50 "\r
 msgstr ""\r
 \r
 #. frmFilter..gbRoutes..cbReverse..Hint\r
-#: filter.dfm:353\r
+#: filter.dfm:363\r
 msgid "Reverse routes and tracks"\r
 msgstr ""\r
 \r
 #. frmFilter..gbRoutes..cbReverse..Caption\r
-#: filter.dfm:354\r
+#: filter.dfm:364\r
 msgid "Reverse"\r
 msgstr ""\r
 \r
 #. frmFilter..pnBottom..btnOK..Caption\r
-#: filter.dfm:371\r
+#: filter.dfm:381\r
 msgid "OK"\r
 msgstr ""\r
 \r
 #. frmFilter..pnBottom..BitBtn1..Caption\r
-#: filter.dfm:407\r
+#: filter.dfm:417\r
 msgid "File based filters"\r
 msgstr ""\r
 \r
 #. frmFilter..gbWaypoints..Caption\r
-#: filter.dfm:427\r
+#: filter.dfm:437\r
 #. frmMain..Panel2..cbWaypoints..Caption\r
-#: main.dfm:379\r
+#: main.dfm:380\r
 msgid "&Waypoints"\r
 msgstr ""\r
 \r
 #. frmFilter..gbWaypoints..lbWayptRadiusLat..Caption\r
-#: filter.dfm:436\r
+#: filter.dfm:446\r
 msgid "Latitude"\r
 msgstr ""\r
 \r
 #. frmFilter..gbWaypoints..lbWayptRadiusLon..Caption\r
-#: filter.dfm:444\r
+#: filter.dfm:454\r
 msgid "Longitude"\r
 msgstr ""\r
 \r
 #. frmFilter..gbWaypoints..cbWayptMergeDupLoc..Hint\r
-#: filter.dfm:452\r
+#: filter.dfm:462\r
 msgid "Merge waypoints with duplicate locations"\r
 msgstr ""\r
 \r
 #. frmFilter..gbWaypoints..cbWayptMergeDupLoc..Caption\r
-#: filter.dfm:453\r
+#: filter.dfm:463\r
 msgid "locations"\r
 msgstr ""\r
 \r
 #. frmFilter..gbWaypoints..cbWayptMergeDupNames..Hint\r
-#: filter.dfm:462\r
+#: filter.dfm:472\r
 msgid "Merge waypoints with duplicate \"short "\r
 "name\""\r
 msgstr ""\r
 \r
 #. frmFilter..gbWaypoints..cbWayptMergeDupNames..Caption\r
-#: filter.dfm:463\r
+#: filter.dfm:473\r
 msgid "\"short names\""\r
 msgstr ""\r
 \r
 #. frmFilter..gbWaypoints..cbWayptMergeDistance..Hint\r
-#: filter.dfm:472\r
+#: filter.dfm:482\r
 msgid "Merge waypoints separated by less then"\r
 msgstr ""\r
 \r
 #. frmFilter..gbWaypoints..cbWayptMergeDistance..Caption\r
-#: filter.dfm:473\r
+#: filter.dfm:483\r
 msgid "Position"\r
 msgstr ""\r
 \r
 #. frmFilter..gbWaypoints..cbWayptSort..Hint\r
-#: filter.dfm:501\r
+#: filter.dfm:511\r
 msgid "Sort waypoints by \"short name\" or by "\r
 "description"\r
 msgstr ""\r
 \r
 #. frmFilter..gbWaypoints..cbWayptSort..Caption\r
-#: filter.dfm:502\r
+#: filter.dfm:512\r
 msgid "Sort"\r
 msgstr ""\r
 \r
 #. frmFilter..gbWaypoints..cbWayptMergeDups..Hint\r
-#: filter.dfm:510\r
+#: filter.dfm:520\r
 msgid "Merge duplicate waypoints"\r
 msgstr ""\r
 \r
 #. frmFilter..gbWaypoints..cbWayptMergeDups..Caption\r
-#: filter.dfm:511\r
+#: filter.dfm:521\r
 msgid "Duplicatates"\r
 msgstr ""\r
 \r
+#. frmFilter..gbWaypoints..cbWayptRadius..Hint\r
+#: filter.dfm:530\r
+msgid "Include points based on their proximity to central "\r
+"point"\r
+msgstr ""\r
+\r
 #. frmFilter..gbWaypoints..cbWayptRadius..Caption\r
-#: filter.dfm:520\r
+#: filter.dfm:531\r
 msgid "Radius"\r
 msgstr ""\r
 \r
+#. frmFilter..gbWaypoints..edWayptRadiusLat..Hint\r
+#: filter.dfm:559\r
+msgid "Latitude of central point"\r
+msgstr ""\r
+\r
+#. frmFilter..gbWaypoints..edWayptRadiusLon..Hint\r
+#: filter.dfm:569\r
+msgid "Longitude of central point"\r
+msgstr ""\r
+\r
 #. frmMain..Caption\r
 #: main.dfm:6\r
 #. Programmer's name for it: SGPSBabelTitle\r
@@ -365,158 +381,162 @@ msgid "Output f&ormat"
 msgstr ""\r
 \r
 #. frmMain..Panel1..chbInputDevice..Caption\r
-#: main.dfm:152\r
+#: main.dfm:153\r
 #. frmMain..Panel1..chbOutputDevice..Caption\r
-#: main.dfm:204\r
+#: main.dfm:205\r
 msgid "Device"\r
 msgstr ""\r
 \r
-#. frmMain..Panel1..cbInputDevice....Items.Strings\r
-#: main.dfm:165\r
-#. frmMain..Panel1..cbOutputDevice....Items.Strings\r
-#: main.dfm:217\r
-msgid "USB"\r
-msgstr ""\r
-\r
 #. frmMain..Panel1..cbInputDevice....Items.Strings\r
 #: main.dfm:166\r
 #. frmMain..Panel1..cbOutputDevice....Items.Strings\r
 #: main.dfm:218\r
-msgid "COM1"\r
+msgid "USB"\r
 msgstr ""\r
 \r
 #. frmMain..Panel1..cbInputDevice....Items.Strings\r
 #: main.dfm:167\r
 #. frmMain..Panel1..cbOutputDevice....Items.Strings\r
 #: main.dfm:219\r
-msgid "COM2"\r
+msgid "COM1"\r
 msgstr ""\r
 \r
 #. frmMain..Panel1..cbInputDevice....Items.Strings\r
 #: main.dfm:168\r
 #. frmMain..Panel1..cbOutputDevice....Items.Strings\r
 #: main.dfm:220\r
-msgid "COM3"\r
+msgid "COM2"\r
 msgstr ""\r
 \r
 #. frmMain..Panel1..cbInputDevice....Items.Strings\r
 #: main.dfm:169\r
 #. frmMain..Panel1..cbOutputDevice....Items.Strings\r
 #: main.dfm:221\r
+msgid "COM3"\r
+msgstr ""\r
+\r
+#. frmMain..Panel1..cbInputDevice....Items.Strings\r
+#: main.dfm:170\r
+#. frmMain..Panel1..cbOutputDevice....Items.Strings\r
+#: main.dfm:222\r
 msgid "COM4"\r
 msgstr ""\r
 \r
 #. frmMain..Panel2..lbWhat..Caption\r
-#: main.dfm:240\r
+#: main.dfm:241\r
 msgid "What ?"\r
 msgstr ""\r
 \r
 #. frmMain..Panel2..cbRoutes..Caption\r
-#: main.dfm:390\r
+#: main.dfm:391\r
 msgid "&Routes"\r
 msgstr ""\r
 \r
 #. frmMain..Panel2..btnFilter..Caption\r
-#: main.dfm:410\r
+#: main.dfm:411\r
 #. frmMain..ActionList1..acFilterSelect..Caption\r
-#: main.dfm:915\r
+#: main.dfm:917\r
 msgid "&Filter"\r
 msgstr ""\r
 \r
 #. frmMain..Panel2..btnProcess..Caption\r
-#: main.dfm:434\r
+#: main.dfm:435\r
 #. frmMain..ActionList1..acConvert..Caption\r
-#: main.dfm:908\r
+#: main.dfm:910\r
 msgid "let's go"\r
 msgstr ""\r
 \r
 #. frmMain..memoOutput..Font.Name\r
-#: main.dfm:461\r
+#: main.dfm:462\r
 msgid "Fixedsys"\r
 msgstr ""\r
 \r
 #. frmMain..stbMain........Text\r
-#: main.dfm:481\r
+#: main.dfm:482\r
 msgid "http://www.gpsbabel.org (http://sourceforge.net/projects/gpsbabel)"\r
 msgstr ""\r
 \r
 #. frmMain..OpenDialog..Filter\r
-#: main.dfm:488\r
-msgid "Garmin Mapsource|*.gdb|Garmin Mapsource mps|*.mps|All "\r
-"files|*.*"\r
+#: main.dfm:489\r
+msgid "Garmin Mapsource mps|*.mps|All files|*.*"\r
+msgstr ""\r
+\r
+#. frmMain..SaveDialog..Filter\r
+#: main.dfm:495\r
+msgid "All file(s)|*.*|Garmin MapSource mps|*.mps"\r
 msgstr ""\r
 \r
 #. frmMain..ActionList1..acConvert..Category\r
-#: main.dfm:907\r
+#: main.dfm:909\r
 #. frmMain..ActionList1..acFilterSelect..Category\r
-#: main.dfm:914\r
+#: main.dfm:916\r
 msgid "Babel"\r
 msgstr ""\r
 \r
 #. frmMain..ActionList1..acFileExit..Category\r
-#: main.dfm:920\r
+#: main.dfm:922\r
 msgid "File"\r
 msgstr ""\r
 \r
 #. frmMain..ActionList1..acFileExit..Caption\r
-#: main.dfm:921\r
+#: main.dfm:923\r
 msgid "E&xit"\r
 msgstr ""\r
 \r
 #. frmMain..ActionList1..acHelpAbout..Category\r
-#: main.dfm:926\r
+#: main.dfm:928\r
 #. frmMain..ActionList1..acHelpIntro..Category\r
-#: main.dfm:931\r
+#: main.dfm:933\r
 #. frmMain..ActionList1..acHelpReadme..Category\r
-#: main.dfm:935\r
+#: main.dfm:937\r
 msgid "Help"\r
 msgstr ""\r
 \r
 #. frmMain..ActionList1..acHelpAbout..Caption\r
-#: main.dfm:927\r
+#: main.dfm:929\r
 msgid "&About"\r
 msgstr ""\r
 \r
 #. frmMain..ActionList1..acHelpIntro..Caption\r
-#: main.dfm:932\r
+#: main.dfm:934\r
 msgid "&Intro"\r
 msgstr ""\r
 \r
 #. frmMain..ActionList1..acHelpReadme..Caption\r
-#: main.dfm:936\r
+#: main.dfm:938\r
 #. frmReadme..Caption\r
 #: readme.dfm:6\r
 msgid "GPSBabel README"\r
 msgstr ""\r
 \r
 #. frmMain..MainMenu1..mnuFile..Caption\r
-#: main.dfm:945\r
+#: main.dfm:947\r
 msgid "&File"\r
 msgstr ""\r
 \r
 #. frmMain..MainMenu1..mnuOptions..Caption\r
-#: main.dfm:951\r
+#: main.dfm:953\r
 msgid "&Options"\r
 msgstr ""\r
 \r
 #. frmMain..MainMenu1..mnuOptions..mnuSynthesizeShortNames..Caption\r
-#: main.dfm:953\r
+#: main.dfm:955\r
 msgid "Synthesize short names"\r
 msgstr ""\r
 \r
 #. frmMain..MainMenu1..mnuOptions..mnuSynthesizeShortNames....Hint\r
-#: main.dfm:956\r
+#: main.dfm:958\r
 msgid "Ignore \"short\" names from source data and synthesize them from the "\r
 "long name"\r
 msgstr ""\r
 \r
 #. frmMain..MainMenu1..mnuHelp..Caption\r
-#: main.dfm:962\r
+#: main.dfm:964\r
 msgid "&Help"\r
 msgstr ""\r
 \r
 #. frmMain..MainMenu1..mnuHelp..N1..Caption\r
-#: main.dfm:970\r
+#: main.dfm:972\r
 msgid "-"\r
 msgstr ""\r
 \r
@@ -524,74 +544,78 @@ msgstr ""
 msgid "Version"\r
 msgstr ""\r
 \r
+#: about.pas:83\r
+msgid "German by Olaf Klein"\r
+msgstr ""\r
+\r
+#: about.pas:84\r
+msgid "French by Lilian Morinon"\r
+msgstr ""\r
+\r
 #. Programmer's name for it: SGPSBabelURL\r
 #: common.pas:27\r
 msgid "http://www.gpsbabel.org"\r
 msgstr ""\r
 \r
-#: filter.pas:159\r
+#: filter.pas:160\r
 msgid "Value (%s) out of range (%g to %g)!"\r
 msgstr ""\r
 \r
-#. will not be translated, fill by hand\r
-#: filter.pas:219\r
+#: filter.pas:228\r
 msgid "Feet"\r
 msgstr ""\r
 \r
-#: filter.pas:220\r
+#: filter.pas:229\r
 msgid "Meter"\r
 msgstr ""\r
 \r
-#: filter.pas:223\r
+#: filter.pas:232\r
 msgid "Miles"\r
 msgstr ""\r
 \r
-#: filter.pas:224\r
+#: filter.pas:233\r
 msgid "Kilometer"\r
 msgstr ""\r
 \r
-#: main.pas:165\r
+#: main.pas:167\r
 msgid "BETA"\r
 msgstr ""\r
 \r
-#: main.pas:167\r
+#: main.pas:169\r
 msgid "Private release"\r
 msgstr ""\r
 \r
-#: main.pas:169\r
+#: main.pas:171\r
 msgid "Special release"\r
 msgstr ""\r
 \r
-#: main.pas:277\r
+#: main.pas:279\r
+#: main.pas:374\r
 msgid "All files|*.*"\r
 msgstr ""\r
 \r
-#: main.pas:366\r
-msgid "|All files|*.*"\r
-msgstr ""\r
-\r
-#: main.pas:407\r
+#: main.pas:415\r
 msgid "File %s not found."\r
 msgstr ""\r
 \r
-#: main.pas:424\r
+#: main.pas:432\r
 msgid "File \"%s\" exists ! Overwrite ?"\r
 msgstr ""\r
 \r
-#: main.pas:425\r
+#: main.pas:433\r
 msgid "Warning"\r
 msgstr ""\r
 \r
-#: main.pas:450\r
+#: main.pas:458\r
 msgid "Could not run \"gpsbabel.exe\"!"\r
 msgstr ""\r
 \r
-#: main.pas:459\r
+#: main.pas:467\r
 msgid "Converted successfully from \"%s\" to "\r
 "\"%s\"."\r
 msgstr ""\r
 \r
-#: main.pas:460\r
+#: main.pas:468\r
 msgid "Success"\r
 msgstr ""\r
 \r